![]() 單指令多資料(simd)處理器系統中多個感興趣區域之同時資料傳輸設備及方法
专利摘要:
本發明提供用於內部記憶體陣列和單一記憶體之間複數ROI區域的同時傳輸之快速資料傳輸,其中PE每一者可獨立於其他PE而指定待傳輸區域的參數集。舉例而言,對於讀取傳輸,以如下方式產生請求:首先對於各個PE,將各ROI區域的第一元件,在請求各ROI區域的後續元件之前,自單一記憶體加以請求。在一控制處理器中已經自單一記憶體收到來自各個ROI區域的第一元件,且已透過匯流排系統自該控制處理器傳輸至內部記憶體陣列之後,將所有的元件平行地儲存至內部記憶體陣列。接著,對於各個PE,向單一記憶體請求各ROI區域的第二元件。在將各ROI區域的所有元件傳輸至其被分配的PE之後,該傳輸完成。 公开号:TW201324361A 申请号:TW101132574 申请日:2012-09-06 公开日:2013-06-16 发明作者:Hanno Lieske 申请人:Renesas Electronics Corp; IPC主号:G06F15-00
专利说明:
單指令多資料(SIMD)處理器系統中多個感興趣區域之同時資料傳輸設備及方法 本發明係關於在單指令多資料(SIMD)處理器系統中單一記憶體和記憶體陣列之間的資料傳輸。更特別是,本發明係關於具有低實施成本的快速資料傳輸,其係用於多個感興趣區域(ROI,region of interest)的同時傳輸,其中SMID處理器系統的處理元件(PE)每一者獨立於其他PE而指定其被分配的待傳輸ROI區域的參數集。 由於單指令多資料(SIMD)處理系統具有更有效率地達成高速平行處理的巨大潛力,以SIMD型式操作之處理器已被開發。當在SIMD處理器系統中處理例如行人或白線檢測演算法時,在一第一步驟中檢測可能的候選區域,且在接下來的步驟中對這些候選區域加以驗證。為了最佳化地運用SIMD處理器系統的處理能力,可不僅將PE陣列利用於該第一步驟中的可能候選區域檢測,而且亦將PE陣列用於ROI區域的驗證。因此,ROI區域每一者必須被載入各個PE的內部記憶體,俾使相同的演算法可執行於PE陣列,其中各PE被分配不同的ROI區域。 然而,由於處理元件係以SIMD型式運作,在將ROI區域載入一單一PE時,除了該單一PE之外的所有處理元件必須等待,與例如在中央處理器(CP)循序處理ROI區域每一者相比,上述狀況降低SIMD型式處理的可能增益。 SIMD處理器的範例顯示於先前技術NPTL 1。圖13顯示該處理器的結構。該結構由處理元件(PE)陣列104所構成。該陣列係由具有內部記憶體102的PE 101加以構成,該等PE被分組為具內部記憶體之PE的群組103。資料係透過匯流排105傳輸於內部記憶體陣列和外部記憶體(EMEM)108之間。在匯流排105上配置線緩衝器(line buffer)106,使得一PE群組或一控制處理器107在兩個線緩衝器之間連接至匯流排105。 圖14顯示線傳輸的操作,其中在NPTL 1中使用自律DMA操作進行在SIMD模式下內部和外部記憶體之間的資料傳輸。舉例而言,對於自內部記憶體到外部記憶體108的傳輸,一個元件列201,其存有來自各PE等於1位元組的一個元件,首先自內部記憶體平行地加以讀出,且儲存於匯流排105的線緩衝器106內部。接著,在自內部記憶體讀取接下來的列202之前,將匯流排105的線緩衝器106的內容移出至外部記憶體108。 對於內部記憶體和外部記憶體108之間的資料傳輸,總是傳輸整個元件列。 若僅部分需要被傳輸,則使用遮罩操作(masking operation)於至EMEM 108的寫入操作。 在那個狀況下,雖然對於各個PE資料可被讀取和傳輸,對於若干PE的資料元件則應中止寫入動作。 為了在此種結構中處理多個ROI區域,存在兩種可行方法。 第一個方法,僅在CP中進行該處理。在這個情況下,將ROI區域一個接一個循序地加以傳輸和執行,且未使用PE陣列。 這會耗費大量時間,而DMA係無作用的,並且未利用PE陣列的處理能力。 第二個方法,在PE陣列中進行該處理。此處,利用SIMD平行性將該處理平行地執行。 然而,由於在EMEM中未排列的資料無法利用現有的線傳輸操作加以平行地載入,這個資料傳輸係藉由按資料元件傳輸至各處理元件並遮蔽掉其他處理元件而加以循序地執行。 亦即是,將除了單一PE外的所有PE加以遮蔽,俾使所分配的ROI資料可僅寫入單一PE的單一內部記憶體之中,並將其他的PE遮蔽。 但是,必須逐個元件地存取每一個PE,且未存取其他PE,這導致耗費較長的時間傳輸所有PE的資料。 此處,將要展示另一個範例,其描述於由本案相同申請人所提出的一個專利申請案。 申請於西元2011年7月21日的日本專利申請案第2011-159752號(專利文獻1)描述利用SIMD處理器更有效率地傳輸資料的新概念。 參照圖15,假設BK1-BK6係應該傳輸至各個被分配之PE的ROI,且BK1-BK6具有互相不同的大小。 在此狀況下,DMA控制器使用作為傳輸參數各ROI參數的最大值。 在圖15中,BK2具有最大高度(Lmax)且BK5具有最大寬度(Wmax)。 一旦CP將各區域的起始位置設定至DMA控制器,如圖16所示,Lmax×Wmax大小的區域在平行處理中可藉由DMA控制器分別地傳送至各個PE。 參考文獻列表 專利文獻 PTL 1:日本專利申請案第2011-159752號,申請於西元2011年7月21日 非專利文獻 NPTL 1: Shorin Kyo, et. al.,” A 51.2GOPS Scalable Video Recognition Processor for Intelligent Cruise Control Based on a Linear Array of 128 4-Way VLIW Processing Elements”, 2003 IEEE International Solid-State Circuits Conference, Feb. 2003 當資料傳輸以NPTL 1所述方式操作在對於各PE獨立定義的ROI資料區域的傳輸之時,由於各PE的資料需要分別地傳輸,遮蔽所有其他PE的寫入動作,因此資料傳輸耗費大量的時間。 此按元件資料傳輸的時間開銷造成SIMD模式對許多工作無法實行,例如行人或白線檢測演算法的驗證工作。 若使用PTL 1中所述技術,除了必要的ROI資料BK1-BK6之外,也必須傳送不需要的和多餘的資料,這使得資料傳輸時間較必要的大許多,且需要用於資料儲存之在內部端的較大區域。 本發明提供用於內部記憶體陣列和單一記憶體之間複數ROI區域的同時傳輸之具低實施成本的快速資料傳輸,其中PE每一者可獨立於其他PE而指定待傳輸區域的參數集。 此外,本發明達成降低資料傳輸時間,係藉由在資料傳輸指令的開始,將各ROI區域的參數集自被分配的PE傳輸至控制處理器,且將此參數集儲存進該控制處理器。 接著,在控制處理器內部,對各個PE及各ROI區域的各元件,自律地產生對單一記憶體的多個請求 對於讀取傳輸,以如下方式產生請求:首先對於各個PE,將各ROI區域的第一元件,在請求各ROI區域的後續元件之前,向單一記憶體加以請求。在一控制處理器中已經自單一記憶體收到來自各個ROI區域的第一元件,且已透過匯流排系統自該控制處理器傳輸至內部記憶體陣列之後,將所有的元件平行地儲存至內部記憶體陣列。 接著,對於各個PE,向單一記憶體請求各ROI區域的第二元件。在將各ROI區域的所有元件傳輸至其被分配的PE之後,該傳輸完成。 對於寫入傳輸,以如下方式產生請求:首先將各PE內部的各ROI區域的第一元件自內部記憶體陣列平行地讀取,並傳輸至匯流排系統的暫存器。接著,將該資料元件移動至控制處理器,其中對於各個元件,計算對應的單一記憶體位址,且向單一記憶體請求資料傳輸。在將所有的第一元件傳送至單一記憶體之後,將各個ROI區域的第二元件由內部記憶體陣列加以讀取。 本發明的例示實施例將參照隨附圖式加以描述。 (第一實施例) 作為第一實施例,將描述自單一記憶體至記憶體陣列之ROI資料傳輸。 這種情況可能發生於檢測到白線或面部區域的若干可能候選者之後而接著需要驗證之時。 圖1顯示本發明第一實施例的SIMD處理器的結構。SIMD處理器具有PE 301的陣列304,PE 301每一者各自具有其內部記憶體302。以下將PE陣列304的內部記憶體稱作內部記憶體陣列。此外,將若干PE加以編組成PE群組303。在這個實施例中,將四個PE編組為一個單位。 資料係透過匯流排系統305傳輸於內部記憶體陣列和單一記憶體308之間,且資料傳輸係藉由控制處理器(CP)307加以控制。中央處理器(CP)307係運作為利用SIMD平行性的直接記憶體存取控制器。將線緩衝器306配置於匯流排系統305之上,使得一PE群組303或控制處理器307在兩個線緩衝器之間連接至匯流排系統305。 控制處理器307具有暫存器集309、請求位址計算器310、傳輸閘單元311、及匯流排移位控制器312。 圖2更詳細地顯示暫存器集309。 暫存器集309具有若干暫存器R0-RN-1。一個暫存器係用於一個PE,亦即是,暫存器R0存有PE0的參數集,暫存器R1存有PE1的參數集,暫存器RN-1存有PEN-1的參數集。暫存器R0-RN-1每一者僅存有傳輸參數,在PE之間該等傳輸參數係不相同。 這些參數為: 1.在單一記憶體之中的ROI起始位址:start_addsingle_memory 2. ROI寬度:roi_width 3. ROI高度:roi_height 在傳輸操作期間所存取的位址係在請求位址計算器310之中加以產生。 圖3更詳細地顯示請求位址計算器310。 請求位址計算器310具有傳輸計數器601、加法器單元602、除法單元603、模運算單元604、及位址計算單元605。傳輸計數器601對傳輸的數量(trans_cnt)計數,其利用加法器單元602進行加一。 除法單元603執行整數除法,其中將trans_cnt除以roi_width,且將商數輸出至位址計算單元605。 如圖4所示,該商數係ROI內部的資料的垂直位置ver_pos。 ver_pos=trans_cnt div roi_width 模運算單元604執行模運算,其中將trans_cnt除以roi_width,且將餘數輸出至位址計算單元605。 如圖4所示,該餘數係ROI內部的資料的水平位置hor_pos。 hor_pos=trans_cnt mod roi_width 因此,ver_pos和hor_pos決定ROI內部待傳輸資料的位置。 位址計算單元605計算單一記憶體內部的請求位址req_addsingle_memory。 除了該ver_pos和該hor_pos之外,亦將起始位址start_add及共同距離dist提供至位址計算單元605。 此處,起始位址start_add係單一記憶體308內部的ROI的起始位址,且共同距離係單一記憶體的記憶體區域的寬度。 因此位址計算單元605計算以下方程式。 req_addsingle_memory=start_addsingle_memory+(ver_pos×dist)+hor_pos 參照圖4,上述方程式的意義可清楚地理解。 圖5詳細地顯示傳輸閘單元311。 傳輸閘單元311具有乘法單元701、比較器702、及開關703。乘法單元701將PEx roi_width乘以PEx roi_height,藉此取得PEx ROI的大小roi_size。該roi_size則輸出至比較器702。 除了該roi_size之外,將trans_cnt自傳輸計數器601提供至比較器702。比較器702比較trans_cnt和該roi_size。該比較的結果輸出至開關703。 該開關係開啟/關閉二狀態開關,且根據藉由比較器之比較結果,將請求位址req_addsingle_memory傳輸至單一記憶體308。 當trans_cnt小於roi_size,即trans_cnt<roi_size,開關703容許req_addsingle_memory傳輸至單一記憶體308;相反地,當trans_cnt達到或超過roi_size,即trans_cntroi_size,開關703阻止req_addsingle_memory傳輸至單一記憶體308。 換言之,直到資料傳輸的數量達到或超過ROI的大小,將需要的請求位址提供至單一記憶體308,但是不需要的請求位址則不提供至單一記憶體308。 匯流排移位控制器312控制匯流排移位。匯流排控制器312具有計算所傳輸元件數量的內部計數器。在這個實施例中,匯流排移位控制器312計算模4運算(x mod 4),且根據模運算的結果將匯流排進行移位一。在這個實施例中,將四個PE加以群組,而一個線緩衝器能夠儲存四個元件。舉例而言,當一個元件係4個位元組,匯流排系統305和線緩衝器LB具有16個位元組之容量。因此,每四個元件則應該將該匯流排系統進行移位。 (讀取方向之資料傳輸操作) 接下來將參照流程圖描述資料傳輸操作。 首先,參照圖6A和圖6B,描述讀取方向的資料傳輸操作。 圖6A和圖6B顯示自單一記憶體308至內部記憶體陣列的讀取方向資料傳輸的流程圖。 如圖7所示,假設若干區域藉由初步分析被檢測為可能的候選者。 在圖7中,ROI0、ROI1、...、ROIx、...係可能的候選者,且應該進行更準確地分析。因而應該分別將這些區域傳輸至內部記憶體。 此外,假設當若干區域在初步分析中被檢測為可能的候選者之時,各個ROI區域的參數集被加以指定,且各個PE分別存有其自身被分配之ROI區域的ROI參數集。 各PE可儲存ROI參數集於其自身的內部記憶體302。 在ST101中,首先,將所有ROI區域的ROI參數集自內部記憶體陣列平行地讀出,且儲存於匯流排系統305的線緩衝器LB。 接著,在ST102中,將該等參數集移至控制處理器307,且儲存於如圖2所示之暫存器集309。 在將所有的參數集儲存於暫存器集309內部之後(ST103:是),將ROI傳輸計數器601以「0」初始化(trans_cnt=0)(ST104)。 並且,將匯流排移位控制器312的內部計數器初始化為「0」(ST105)。 然後,對於PEx,待傳輸資料的請求位址藉由請求位址計算器加以計算(ST106)。 「x」對應PE或ROI的指標號碼,且係由「0」開始,每個迴圈將「x」向上計數。 請求位址計算已經參照圖3和圖4加以描述。因此僅在此處重新描述方程式:req_addsingle_memory=start_addsingle_memory+(ver_pos×dist)+hor_pos ver_pos=trans_cnt div roi_width hor_pos=trans_cnt mod roi_width 在已計算PEx的req_addsingle_memory之後,將這個經計算的PEx的req_addsingle_memory經由傳輸閘單元311傳輸至單一記憶體308(ST108)。 然而,如上所述,雖然需要的請求位址係被提供至單一記憶體308,不需要的請求位址係不被傳輸至單一記憶體308。因此,在將請求位址傳送至單一記憶體(ST108)之前,對trans_cnt是否小於roi_size進行判定(ST106)。 當單一記憶體308收到req_addsingle_memory時,單一記憶體308將對應該req_addsingle_memory的資料元件送還(ST109)。並且CP 307將資料元件輸出至線緩衝器306(ST110)。 如上所述,每四個資料應將匯流排系統加以移位(ST111、ST112)。 接著,在ST113中,判定x是否達到最後的PE指標號碼,亦即是,判定對於每個PE(PE0-PEN-1)的元件是否已經執行位址計算(ST106)和將需要的資料元件輸出至線緩衝器。 當「x」未達最後的號碼,隨著將「x」向上計數(ST114),程序返回至位址計算(ST106),且重複從ST106至ST113之程序。 亦即是,執行下一個PE(例如,PE1)的位址計算(ST106),且將所請求的資料輸送至線緩衝器。 同時,當在ST113中「x」達到最後的號碼之時,所有PE的資料已經輸出至線緩衝器。舉例而言,在trans_cnt=0的狀況下,對應各個ROI的起始位址之所有的第一資料被輸出至線緩衝器。因此,各個PE自線緩衝器取得被分配之資料元件,且將其儲存於自身的內部記憶體(ST115)。 這個程序可參照圖8加以理解。當所有的第一資料係儲存於線緩衝器之時,各個PE接著自線緩衝器取得被分配的資料元件。 隨著trans_cnt向上計數(ST117),重複ST106到ST115,直到已傳送所有ROI的所有元件(ST116)。 如以上參照圖4所示,吾人可輕易理解在將trans_cnt向上計數一之時,在ROI內部請求位址的位置被移位一。因此,藉由重複ST105到ST117,所有ROI的所有元件可自單一記憶體輸出至匯流排系統,且各個PE可循序地取得被分配之ROI資料。 此外,由於該傳輸閘單元對於每個PEx(或ROIx)判定trans_cnt是否小於roi_size,不需要的資料不會傳送至單一記憶體。因此,可快速且有效率地執行在SIMD處理器系統之中的多個ROI的同時資料傳輸。 (第二實施例) 接下來要描述本發明的第二實施例。 作為第二實施例,將描述寫入方向的資料傳輸操作。 在第一實施例中所述之系統構造亦可適用於此第二實施例。 圖9A和圖9B顯示自內部記憶體陣列至單一記憶體308的寫入方向資料傳輸之流程圖。 圖10示意性地顯示在第二實施例中的資料傳輸操作。 ST201-ST204係與ST101-ST104相同。 在ST205中,將各個ROI區域的第一資料元件自內部記憶體加以讀取,且儲存至匯流排系統的線緩衝器。在這個步驟中,所有PE輸出一元件資料至線緩衝器。一旦將內部的匯流排移位控制器312初始化為「0」,且接著如上所述,每四個資料應該將該匯流排系統加以移位(ST207、ST208)。 在ST209中,對於PEx,藉由請求位址計算器計算待寫入資料的請求位址(ST209)。這個運算係與第一實施例的ST106相同。 進一步地,取決於trans_cnt是否小於roi_size(ST210),將req_address和自PEx所傳輸的資料以及寫入請求傳送至單一記憶體(ST211)。接下來,單一記憶體將自PEx所送來的資料元件儲存於所請求的位址(ST212)。 隨著將「x」向上計數(ST214),程序返回至匯流排移位控制(ST207、ST208)及位址計算(ST209),且重複自ST207至ST213的程序。 在ST213中,對於每個PE(PE0-PEN-1)的元件,判定是否已經執行位址計算(ST209)與執行將資料元件儲存於所請求位址。當「x」達到PE的最後號碼之時,隨著向上計數trans_cnt(ST216)重複ST205到ST215,直到所有ROI的所有元件已經寫回至單一記憶體。 最終,所有ROI資料已被寫回至單一記憶體。 縱使各ROI間ROI大小係不同的,藉由位址計算(ST209),CP可指定單一記憶體內部待寫回資料。 此外,由於傳輸閘單元對於每個PEx(或ROIx)判定trans_cnt是否小於roi_size,不需要的寫入請求不會傳送至單一記憶體。 因此,可快速且有效率地執行在SIMD處理器系統中多個感性區區域的同時資料傳輸。 (經修改的實施例1) 作為經修改的實施例,此處將描述請求位址計算器310的替代結構。 圖11顯示經修改的位址計算器1200。 此位址計算器1200具有比較器1202、兩個開關1203、1204、暫存器集1201、及加法器單元1205。 暫存器集1201具有數個暫存器;並且對PEx每一者提供兩個暫存器。該等暫存器能夠暫時地保存待傳輸資料的現行水平位置hor_pos和現行垂直位置ver_pos。 最初,將PEx hor_pos和ver_pos設定為「0」。 對於各個PEx,比較器1202將來自暫存器集1201的現行水平位置hor_pos與PEx的水平寬度減一加以比較。 比較器1202將比較結果輸出至開關1204及開關1203。 將PEx ver_pos及PEx hor_pos分別輸入至開關1204的兩個輸入端子,且開關1204選擇PEx ver_pos或PEx hor_pos作為輸出值。 具體而言,當現行PEx hor_pos不等於PEx的水平寬度減一時,開關1204選擇現行PEx hor_pos作為輸出值。 將自開關1204的輸出值輸入加法器單元1205;將自開關1204的輸入值增加一。接下來,將相加的結果寫回至暫存器集1201的暫存器。 換言之,隨著各個步驟進行,將PEx hor_pos的值增加一,這等同於將ROI內部的資料位置水平地移位一。 另一方面,當現行PEx hor_pos等於PEx的水平寬度減一,比較器1202輸出結果至開關1203。此開關1203具有將水平位置hor_pos之值重設的功能;具體而言,將PEx hor_pos的值重設為「0」,且將值「0」寫回暫存器集1201的暫存器。並且亦將比較結果輸出至開關1204。 當現行PEx hor_pos等於PEx的水平寬度減一,開關選擇垂直位置ver_pos作為輸出值,該值在加法器單元1205中增加一。將相加的結果寫回暫存器集1201的暫存器。 換言之,當ROI內部的資料位置到達在水平方向上ROIx的末端,將資料位置移位至下一列的首端。 在此方式下可以良好的次序將資料位置加以移位。 因此,由ver_pos和hor_pos所計算出的req_addsingle_memory可以良好的次序在單一記憶體定址區域中加以移位。 (經修改的實施例2) 本發明不限定於上述實施例。 圖12顯示一可能的系統設計,具有例示結構的SIMD處理器300能夠運作於其中。 該系統內部的其他單元可為中央處理單元(CPU)401和單一記憶體元件308,其皆透過接線而連接至匯流排系統404。 所屬技術領域具有通常技藝者可理解,在不偏離如申請專利範圍所界定的本發明之精神和範疇下,可在其中實行型態和細節上的各種變化。 ROI的大小可為互相不同,或亦可為互相相同。 在上述實施例中,由於將PE以四個加以編組,匯流排的移位運算係由模4運算計算的結果加以控制。 然而,匯流排移位應取決於一群組之PE的數量而適當地加以控制。 工業應用性 本發明可應用於影像處理的方法和設備,且影像資料可由照相機、雷射探頭、或網際網路而加以取得。 101‧‧‧處理元件(PE) 102‧‧‧內部記憶體 103‧‧‧(PE)群組 104‧‧‧處理元件(PE)陣列 105‧‧‧匯流排 106‧‧‧線緩衝器 107‧‧‧控制處理器 108‧‧‧外部記憶體 201‧‧‧(元件)列 202‧‧‧列 300‧‧‧SIMD處理器 301‧‧‧處理元件(PE) 302‧‧‧內部記憶體 303‧‧‧PE群組 304‧‧‧(PE)陣列 305‧‧‧匯流排系統 306‧‧‧線緩衝器 307‧‧‧處理器 308‧‧‧單一記憶體 309‧‧‧暫存器集 310‧‧‧請求位址計算器 311‧‧‧傳輸閘單元 312‧‧‧匯流排移位控制器 401‧‧‧中央處理單元 402‧‧‧SIMD處理器 403‧‧‧單一記憶體 404‧‧‧匯流排系統 601‧‧‧傳輸計數器 602‧‧‧加法器單元 603‧‧‧除法單元 604‧‧‧模運算單元 605‧‧‧位址計算單元 701‧‧‧乘法單元 702‧‧‧比較器 703‧‧‧開關 1200‧‧‧位址計算器 1201‧‧‧暫存器集 1202‧‧‧比較器 1203、1204‧‧‧開關 1205‧‧‧加法器單元 圖1顯示本發明第一實施例的SIMD處理器的結構。 圖2更詳細地顯示暫存器集309。 圖3更詳細地顯示請求位址計算器310。 圖4描述ver_pos和her_pos的意義。 圖5詳細顯示傳輸閘單元311。 圖6A顯示自單一記憶體308至內部記憶體陣列之讀取方向資料傳輸的流程圖。 圖6B顯示自單一記憶體308至內部記憶體陣列之讀取方向資料傳輸的流程圖。 圖7描述數個ROI,其大小互相不同,且該等ROI係待傳輸至內部記憶體陣列。 圖8示意顯示第一實施例中的資料傳輸操作。 圖9A顯示自內部記憶體陣列至單一記憶體308之寫入方向資料傳輸的流程圖。 圖9B顯示自內部記憶體陣列至單一記憶體308之寫入方向資料傳輸的流程圖。 圖10示意顯示在第二實施例中的資料傳輸操作。 圖11顯示經修改的位址計算器1200。 圖12顯示一可能的系統設計,具有例示結構的SIMD處理器300可運作於其中。 圖13顯示SIMD處理器的典型結構。 圖14顯示線傳輸的操作,其中在NPTL 1中使用一自律DMA操作。 圖15顯示一實例,在該相關技術中BK1-BK6係應被傳輸至各個被分配之PE的ROI。 圖16顯示該相關技術的技術問題。 300‧‧‧SIMD處理器 301‧‧‧處理元件(PE) 302‧‧‧內部記憶體 303‧‧‧PE群組 304‧‧‧(PE)陣列 305‧‧‧匯流排系統 306‧‧‧線緩衝器 307‧‧‧控制處理器(CP) 308‧‧‧單一記憶體 309‧‧‧暫存器集 310‧‧‧請求位址計算器 311‧‧‧傳輸閘單元 312‧‧‧匯流排移位控制器
权利要求:
Claims (9) [1] 一種資料傳輸設備,包含:一處理元件陣列,包含複數處理元件,該等處理元件係以一單指令多資料型式加以控制;設置於該等處理元件每一者內部的記憶體元件,對於所有該等處理元件的該等記憶體元件之資料存取係平行地執行;一控制處理器,以該單指令多資料型式控制該處理元件陣列;一匯流排系統,將所有該等處理元件互相連接且連接至該控制處理器;及一單一記憶體,與該處理元件陣列的該等記憶元件交換資料,該單一記憶體係作為讀取傳輸的資料源與寫入傳輸的資料槽;其中該控制處理器包含:具有數個暫存器的一暫存器集單元,該等暫存器每一者係各處理元件的感興趣區域(ROI)傳輸參數集的暫時儲存器,該傳輸參數集至少包含該單一記憶體內部的一ROI起始位址、ROI的寬度、和ROI的高度;及一請求位址計算器,其首先藉由加一而在ROI每一者內部將待傳輸資料的位置水平地和垂直地移位,且其次利用該垂直和水平位置、該ROI起始位址、和一共同距離計算在該單一記憶體內部該位置的位址,其中該共同距離係該單一記憶體的一記憶體區域的寬度。 [2] 如申請專利範圍第1項的資料傳輸設備,其中藉由一整數除法計算該垂直位置,其中將資料傳輸計數數量除以該ROI的寬度;並且藉由一模運算計算該水平位置,其中將資料傳輸計數數量除以該ROI的寬度。 [3] 如申請專利範圍第1項的資料傳輸設備,其中利用以下方程式計算在該單一記憶體內部該位置的位址:req_addsingle_memory=start_addsingle_memory+(ver_pos×dist)+hor_pos其中req_addsingle_memory係該單一記憶體內部的該位置的位址,start_addsingle_memory係該單一記憶體內部的該ROI起始位址,ver_pos係ROI內部該資料的垂直位置,且hor_pos係ROI內部該資料的水平位置,dist係該共同距離。 [4] 如申請專利範圍第1項的資料傳輸設備,其中該控制處理器更包含一傳輸閘單元,且該傳輸閘單元僅在資料傳輸計數數量未超過ROI的大小時,允許一記憶體存取請求通過而至該單一記憶體。 [5] 如申請專利範圍第1項的資料傳輸設備,其中來自該處理元件陣列的ROI區域的大小係相同的。 [6] 如申請專利範圍第1項的資料傳輸設備,其中來自該處理元件陣列的ROI區域的大小係不同的。 [7] 如申請專利範圍第1項的資料傳輸設備,其中該匯流排系統係一管線化環狀匯流排。 [8] 如申請專利範圍第1項的資料傳輸設備,其中該單一記憶體係一外部記憶體。 [9] 一種資料傳輸方法,用於在平行處理中於一處理元件陣列及一單一記憶體之間傳送資料,該處理元件陣列包含具有自身記憶體元件的複數處理單元,該資料傳輸方法包含:儲存各個處理單元的感興趣區域(ROI)傳輸參數集每一者,該傳輸參數集至少包含該單一記憶體內部的一ROI起始位址、ROI的寬度、及ROI的高度;藉由透過加一而將ROI每一者內部待傳輸資料的位置水平地和垂直地移位,計算在ROI內部該待傳輸資料的位置,及藉由利用該垂直和水平位置、該ROI起始位址、和一共同距離,計算該單一記憶體內部的該位置的位址,該共同距離係該單一記憶體的一記憶體區域的寬度。
类似技术:
公开号 | 公开日 | 专利标题 US9064324B2|2015-06-23|Image processing device, image processing method, and recording medium on which an image processing program is recorded JPH0740252B2|1995-05-01|マルチプロセツサシステム US8069333B2|2011-11-29|Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system US20110173416A1|2011-07-14|Data processing device and parallel processing unit TWI549061B|2016-09-11|單指令多資料(simd)處理器系統中多個感興趣區域之同時資料傳輸設備及方法 US20180329841A1|2018-11-15|Memory access control device and control method of memory access JP4748609B2|2011-08-17|画像処理システム CN104981838B|2020-06-09|优化图像存储器访问 JP2008234059A|2008-10-02|データ転送装置および情報処理システム US8412862B2|2013-04-02|Direct memory access transfer efficiency WO2022016926A1|2022-01-27|神经网络计算装置和数据读取、数据存储方法及相关设备 JP5706754B2|2015-04-22|データ処理装置及びデータ処理方法 JP4695124B2|2011-06-08|動画像符号化における動き探索装置 KR101984635B1|2019-05-31|어플리케이션을 고속으로 처리하는 연산 처리 장치 및 방법 JP2005141637A|2005-06-02|メモリ管理装置 US8244919B2|2012-08-14|Data transfer apparatus, system and method using the same JP4170330B2|2008-10-22|情報処理装置 US20180074983A1|2018-03-15|Data transfer method, parallel processing device, and recording medium JP2018185615A|2018-11-22|電子機器、方法、及びプログラム US20130290654A1|2013-10-31|Data writing control device, data writing control method, and information processing device JP2019139406A|2019-08-22|データ処理装置 CN110072032B|2021-03-05|图像处理装置 JP5488609B2|2014-05-14|リングバスによって相互接続された複数の処理要素を有する単一命令多重データ(simd)プロセッサ KR101693966B1|2017-01-06|디바이스 컨트롤러를 포함하는 저장 장치, 상기 디바이스 컨트롤러가 수행하는 입출력 분산 처리 방법 JP2013175074A|2013-09-05|複数処理実行方法
同族专利:
公开号 | 公开日 TWI549061B|2016-09-11| US9996500B2|2018-06-12| JP5829331B2|2015-12-09| JP2014526722A|2014-10-06| WO2013046475A1|2013-04-04| US20140237214A1|2014-08-21|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 FR2657978A1|1990-02-02|1991-08-09|Philips Electronique Lab|Procede de stockage en memoire pour le traitement d'images, et dispositif pour la mise en óoeuvre du procede.| JPH04333952A|1991-05-10|1992-11-20|Toshiba Corp|Dma control lsi| JPH0944130A|1995-07-28|1997-02-14|Sony Corp|映像装置| EP1107107A1|1999-12-10|2001-06-13|Koninklijke Philips Electronics N.V.|Parallel data processing and shuffling| US6941446B2|2002-01-21|2005-09-06|Analog Devices, Inc.|Single instruction multiple data array cell| US20090046953A1|2004-04-29|2009-02-19|Koninklijke Philips Electronics N V|Image Processing Apparatus And Method| GB2417105B|2004-08-13|2008-04-09|Clearspeed Technology Plc|Processor memory system| US20100141668A1|2006-10-26|2010-06-10|Nxp, B.V.|Address calculation unit| JP4801605B2|2007-02-28|2011-10-26|株式会社リコー|Simd型マイクロプロセッサ| AT508415T|2007-03-06|2011-05-15|Nec Corp|Datentransfernetzwerk und steuervorrichtung für ein system mit einem array von verarbeitungselementen, die jeweils entweder selbst- oder gemeinsam gesteuert sind| JP2011141823A|2010-01-08|2011-07-21|Renesas Electronics Corp|データ処理装置および並列演算装置| JP5373653B2|2010-01-29|2013-12-18|日本電信電話株式会社|光変調信号生成装置及び光変調信号生成方法| JP5739758B2|2011-07-21|2015-06-24|ルネサスエレクトロニクス株式会社|メモリコントローラ及びsimdプロセッサ|KR102235803B1|2017-03-31|2021-04-06|삼성전자주식회사|반도체 장치| US10649771B2|2017-03-31|2020-05-12|Samsung Electronics Co., Ltd.|Semiconductor device|
法律状态:
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 PCT/JP2011/072715|WO2013046475A1|2011-09-27|2011-09-27|Apparatus and method of a concurrent data transfer of multiple regions of interestin an simd processor system| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|